/**
 * Gère toutes les fonctions js du module de jeu.
 */

// FONCTIONS RELATIVES AU REDIMENSIONNEMENT DU MODULE DE JEU
var ingame = false;
var inpregame = false;
var game_apparent = false;

/** Cette fonction, appelée lors de l'ouverture ou la fermeture du module de jeu, en prévient le client swf, 
 qui règlera le panneau des avatars si le joueur est en combat.*/
function resize_jeu_menu(is_deployed){
	if(is_deployed){
		if(recup_client_swf() != null) try {
			recup_client_swf().show_avatars(true); } catch(e){} //Nom sous lequel a été enregistré la fonction actionscript.
	} else {
		if(recup_client_swf() != null) try {
			recup_client_swf().show_avatars(false);} catch(e){} //Nom sous lequel a été enregistré la fonction actionscript.
	}
}
function recup_client_swf() {
	if(navigator.appName.indexOf("Microsoft") != -1) return window["moduleGame"];
	else return document["moduleGame"];
}

function resize_game() {
	if(!game_apparent) return;
	var largeur_interface = window.innerWidth;
    var hauteur_interface = parent.window.innerHeight - 55;
	if(largeur_interface < 780)
		largeur_interface = 780;
	if(hauteur_interface < 480)
		hauteur_interface = 480;
			
	//La hauteur ne doit pas être plus grande que la largeur x .80. 
	//Même que 0.7 x la largeur, pour les petites résos (ac un intermédiaire).
	//Ne pas modifier ça sans modifier la même chose dans le swf (Global_interface.resizeDisplay())
	var haut_max = largeur_interface * .80;
	if(largeur_interface < 900)
			haut_max = largeur_interface * .7;
	else if(largeur_interface < 1100)
			haut_max = largeur_interface * .75;
	if(hauteur_interface > haut_max)
			hauteur_interface = haut_max;
			
	var larg_max = hauteur_interface * 16/9;
	if(largeur_interface > larg_max)
			largeur_interface = larg_max;

	document.getElementById("ContenerGame").style.width = largeur_interface + "px";
	if(largeur_interface < window.innerWidth)
		document.getElementById("ContenerGame").style.marginLeft = (window.innerWidth - largeur_interface) * .5 + "px";
	else
		document.getElementById("ContenerGame").style.marginLeft = "0px";
	document.getElementById("ContenerGame").style.height = hauteur_interface + "px";
	if(hauteur_interface < parent.window.innerHeight - 55)
		document.getElementById("ContenerGame").style.marginTop = (parent.window.innerHeight - 55 - hauteur_interface) * .5 + "px";
	else
		document.getElementById("ContenerGame").style.marginTop = "0px";
}

// FONCTIONS DE SECURITE EN MODE COMBAT
/** Cette fonction demande une confirmation si le joueur tente de quitter le jeu alors qu'il est en plein combat 
 (en cas d'actualisation ou de delogin, par ex).*/
function deloger() {
	if(!ingame) return true;
	if(confirm("Vous déconnecter sera considéré comme un abandon pour la partie en cours. Voulez-vous quand même le faire ?")) {
		ingame = false;
		return true;
	}
	return false;
}
function is_in_game() {return ingame;}
function is_in_pregame() {return inpregame;}

window.onbeforeunload = function() {
	if(ingame) return "Si vous quittez le jeu pendant une partie, celle-ci sera perdue. Voulez-vous vraiment quitter ?";
}


//FONCTIONS APPELEES PAR LE CLIENT FLASH
function set_ingame(ing){
	ingame = ing;
	inpregame = false;
	parent.document.getElementById("site_contenu").contentWindow.visibility_site_only();
}
function set_inpregame(ing){
	inpregame = ing;
	parent.document.getElementById("site_contenu").contentWindow.visibility_site_only();
}
function get_jeu_is_open() {return (parent.get_jeu_deployed() == 2);}
function hide_jeu(){parent.resize_jeu_menu(0);}
function open_jeu(){parent.resize_jeu_menu(2);}
function go_profil_joueur(id_joueur){
		if(parseInt(id_joueur) == id_joueur) {
			parent.resize_jeu_menu(1);
			setTimeout("parent.document.getElementById('site_contenu').contentWindow.location = '/perso/profil.php?id=" + id_joueur + "'", 200);
		}
}
function go_edit_my_profil(id_joueur){
    if(parseInt(id_joueur) == id_joueur) {
		parent.resize_jeu_menu(1);
		setTimeout("parent.document.getElementById('site_contenu').contentWindow.location = '/perso/profiledit.php?id=" + id_joueur + "'", 200);
        }
}
function go_fiche_unite(id_unit){
		if(parseInt(id_unit) == id_unit) {
			parent.resize_jeu_menu(1);
			setTimeout("parent.document.getElementById('site_contenu').contentWindow.location = '/jeu/unites.php?id=" + id_unit + "#pose_fiche'", 200);
		}
}
function floute_site(){
    //resize_game(); //Cette fonction est appelée lors du chargement de l'anim d'accueil, ça permet de bien caler le jeu
		if(parent.document.getElementById("site_contenu").contentWindow.masque_page != null) {
			parent.document.getElementById("site_contenu").contentWindow.masque_page();
		}
}
function focus_site(){
    parent.document.getElementById("site_contenu").focus();
}

